using System;
using System.Collections.Generic;
using System.Text;

namespace GymManager.Persistence.VO
{
    /// <summary>
    /// Class representing the user value object
    /// </summary>
    public class Student
    {
        #region Attributes
        private Int32 _id;
        private String _name;
        private Nullable<DateTime> _birthday;
        private String _responsible;
        private String _address;
        private String _mainPhone;
        private String _otherPhone;
        private String _email;
        private DateTime _registerDate;
        private DateTime _paymentDate;
        private Boolean _isRulesReceived;
        private Boolean _isActive;
        private Nullable<DateTime> _rescissionDate;
        private String _rescissionReason;
        private String _observations;
        private IList<MedicalExam> _medicalExamList;
        private IList<StudentModality> _studentModalityList;
        #endregion

        #region Properties
        public Int32 Id
        {
            get { return _id; }
            set { _id = value; }
        }

        public String Name
        {
            get { return _name; }
            set { _name = value; }
        }

        public Nullable<DateTime> Birthday
        {
            get { return _birthday; }
            set { _birthday = value; }
        }

        public String Responsible
        {
            get { return _responsible; }
            set { _responsible = value; }
        }

        public String Address
        {
            get { return _address; }
            set { _address = value; }
        }

        public String MainPhone
        {
            get { return _mainPhone; }
            set { _mainPhone = value; }
        }

        public String OtherPhone
        {
            get { return _otherPhone; }
            set { _otherPhone = value; }
        }

        public String Email
        {
            get { return _email; }
            set { _email = value; }
        }

        public DateTime RegisterDate
        {
            get { return _registerDate; }
            set { _registerDate = value; }
        }

        public DateTime PaymentDate
        {
            get { return _paymentDate; }
            set { _paymentDate = value; }
        }

        public Boolean IsRulesReceived
        {
            get { return _isRulesReceived; }
            set { _isRulesReceived = value; }
        }

        public Boolean IsActive
        {
            get { return _isActive; }
            set { _isActive = value; }
        }

        public Nullable<DateTime> RescissionDate
        {
            get { return _rescissionDate; }
            set { _rescissionDate = value; }
        }

        public String RescissionReason
        {
            get { return _rescissionReason; }
            set { _rescissionReason = value; }
        }

        public String Observations
        {
            get { return _observations; }
            set { _observations = value; }
        }

        public IList<MedicalExam> MedicalExamList
        {
            get { return _medicalExamList; }
            set { _medicalExamList = value; }
        }

        public IList<StudentModality> StudentModalityList
        {
            get { return _studentModalityList; }
            set { _studentModalityList = value; }
        }
        #endregion
    }
}
